﻿// RankingSejmowy 1.0 - Polish parliment statistics for the masses.
// Copyright (C) 2010 Jarosław Dubrownik
//  
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//  
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//  
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
using System;
using System.Resources;
using System.Web.Routing;

namespace RankingSejmowy.Common.SiteMap
{
    internal class ResourceNodeProvider : INodeProvider
    {
        private readonly string _resourceKey;
        private readonly Type _resourceType;

        public ResourceNodeProvider(string resourceKey, Type resourceType)
        {
            _resourceKey = resourceKey;
            _resourceType = resourceType;
        }

        #region INodeProvider Members

        public Node GetNode(Route route, RequestContext requestContext)
        {
            var text = new ResourceManager(_resourceType).GetString(_resourceKey);
            var virtualPath = route.GetVirtualPath(requestContext, null);
            var path = virtualPath.VirtualPath.StartsWith("/")
                           ? virtualPath.VirtualPath
                           : string.Format("/{0}", virtualPath.VirtualPath);
            return new Node(text, path);
        }

        #endregion
    }
}